package com.nantong.admin.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nantong.admin.domain.Customer;
import com.nantong.admin.domain.model.request.customer.CustomerSearch;
import com.nantong.admin.domain.model.response.customer.CustomerVo;
import com.nantong.common.mybatis.core.page.PageQuery;
import com.nantong.common.mybatis.core.page.TableDataInfo;

/**
 * 客户Service接口
 */
public interface ICustomerService extends IService<Customer> {
    /**
     * 分页查询客户列表
     *
     * @param customerSearch 客户查询条件
     * @param pageQuery      分页参数
     * @return 客户分页列表
     */
    TableDataInfo<CustomerVo> selectPageList(CustomerSearch customerSearch, PageQuery pageQuery);

    /**
     * 查询客户列表
     *
     * @param customerSearch 客户查询条件
     * @return 客户列表
     */
    List<CustomerVo> searchList(CustomerSearch customerSearch);

    /**
     * 根据ID查询客户信息
     *
     * @param customerId 客户ID
     * @return 客户信息
     */
    Customer selectCustomerById(Long customerId);

    /**
     * 新增客户
     *
     * @param customer 客户信息
     * @return 结果
     */
    int insertCustomer(Customer customer);

    /**
     * 修改客户
     *
     * @param customer 客户信息
     * @return 结果
     */
    int updateCustomer(Customer customer);

    /**
     * 删除客户信息
     *
     * @param customerId 客户ID
     * @return 结果
     */
    int deleteCustomerById(Long customerId);
}
